草庐IT

java - HSQL 中缺少用于测试的序列

全部标签

ruby-on-rails - 在哪里/如何包含用于 capybara 集成测试的辅助方法

我正在使用capybara进行集成/验收测试。它们位于/spec/requests/文件夹中。现在我有一些在验收测试期间使用的辅助方法。一个例子是register_user看起来像这样defregister_user(user)visithome_pagefill_in'user_name',:with=>user.usernamefill_in'password',:with=>user.passwordclick_button'sign_up_button'end我想在几个不同的验收测试中使用这个方法(它们在不同的文件中)。包括这个的最好方法是什么?我试过将它放在spec/supp

ruby-on-rails - Rails 测试找不到 test_helper

我试图通过ruby​​test/unit/mytest.rb运行单独的测试,但我总是收到“没有这样的文件要加载-test_helper”的错误。Google提出了一些建议,但没有一个对我有用。我在Ubuntu10.10上运行Rails3.0、Ruby1.9.2(通过RVM)这是我到目前为止所做的尝试-非常感谢任何建议将“requiretest_helper”更改为“requireFile.dirname(FILE)+“/../test_helper””在test/unit/mytest_test.rb中。它带回“没有要加载的文件--test/unit/../test_helper”尝试

ruby-on-rails - 如何在不重复 nil 检查的情况下避免嵌套哈希中缺少元素的 NoMethodError?

我正在寻找一种避免在深度嵌套的哈希中的每个级别检查nil的好方法。例如:name=params[:company][:owner][:name]ifparams[:company]&¶ms[:company][:owner]&¶ms[:company][:owner][:name]这需要三项检查,并且代码非常丑陋。有什么办法可以解决这个问题? 最佳答案 引入了Ruby2.3.0amethodcalleddig在Hash和Array上。name=params.dig(:company,:owner,:name)如果在任

ruby-on-rails - 如何重置 factory_girl 序列?

前提是我有项目工厂Factory.define:projectdo|p|p.sequence(:title){|n|"project#{n}title"}p.sequence(:subtitle){|n|"project#{n}subtitle"}p.sequence(:image){|n|"../images/content/projects/#{n}.jpg"}p.sequence(:date){|n|n.weeks.ago.to_date}end我正在创建项目实例Factory.build:projectFactory.build:project此时,下次我执行Factory.b

用于查找位置时区的 Ruby gem

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭3年前。Improvethisquestion我有一个位置(城市、州)、日期和时间,我想将其转换为utc,但需要先找到该位置的时区。我做了一些研究,一切似乎都指向earthtools或geonames,但两个网络服务似乎都只有纬度和经度。是否有服务或gem或任何其他方式来根据这种位置格式查找时区?或者如何将位置转换为经纬度?

ruby-on-rails - 如何测试某个函数是否使用 Rails 和 rspec 2 中的事务

我有一个模型函数,我想确保它使用事务。例如:classModeldefmethodModel.transactiondo#dostuffendendend我目前的方法是在block内存入一个方法调用以引发ActiveRecord::Rollback异常,然后检查数据库是否真的发生了变化。但这意味着如果由于某种原因block内的实现发生变化,那么测试就会中断。你会如何测试这个? 最佳答案 你应该换个角度看问题。从行为的角度来看,测试函数是否使用事务是没有用的。它不会为您提供有关函数是否按预期运行的任何信息。您应该测试的是行为,即预期结

ruby - 如何忽略或跳过使用 RSpec 的测试方法?

请指导如何使用RSpec禁用以下测试方法之一。我正在使用SelenuimWebDriver+RSpec组合来运行测试。require'rspec'require'selenium-webdriver'describe'AutomationSystem'dobefore(:each)do###endafter(:each)do@driver.quitendit'Test01'do#positivetestcaseendit'Test02'do#negativetestcaseendend 最佳答案 您可以使用pending()或将it

ruby - 反对在 RSpec 测试中使用 before、let 和 subject 的理由是什么?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我刚开始编写RSpec测试,我遇到了thoughtbot'sStyleGuide,它反对let、let!、before和subject(以及其他)。我也在其他几个地方读过类似的建议(包括关于before(:all)的旧RSpecdocs警告),但我似乎找不到反对的实际论据他们。那么问题是:为什么我不应该在我的测试中使用这些方法?什么是更好的方法?

ruby-on-rails - 使用 RSpec 和模拟测试 after_commit

我有一个模型Lead和一个回调:after_commit:create,:send_to_SPL我正在使用Rails-4.1.0、ruby-2.1.1、RSpec。1)此规范未通过:context'callbacks'doit'shallcall\'send_to_SPL\'aftercreate'doexpect(lead).toreceive(:send_to_SPL)lead=Lead.create(init_hash)plead.new_record?#=>falseendend2)这个规范也没有通过:context'callbacks'doit'shallcall\'send

ruby-on-rails - 使用 FactoryGirl 测试简单的 STI

我有一个类,它是其他一些专门针对行为的类的基础:classTaskCounterTask类继承自TaskclassCounterTask在我尝试测试基类之前一切正常,因为它必须有一个类型。FactoryGirl.definedofactory:taskdosequence(:name){|n|"name_#{n}"}sequence(:command){|n|"command_#{n}"}endend您将如何测试父类(superclass)的基本功能? 最佳答案 您可以声明工厂的定义如下:FactoryGirl.definedofa